package com.seafwg;

/**
 * Hello world!
 * 函数：只要输入相同，无论多少次调用，无论什么时间调用，输出相同
 */
public class App 
{
    public static void main( String[] args ) {
        System.out.println(pray("seafwg"));
        System.out.println(pray("seafwg"));
        System.out.println(pray("seafwg"));
//        buddha.name = "魔王";
        System.out.println(pray("seafwg"));
    }

//    static class Buddha {
//        final String name;
//
//        public Buddha(String name) {
//            this.name = name;
//        }
//    }
    record Buddha(String name) {}

    static Buddha buddha = new Buddha("佛祖");

    // 函数---
    static String pray(String person) {
        // buddha.name,设计缺陷函数里面的变量，外界可以改变
        // 使用final修饰或者jdk16+的record定义
        return (person + "向[" + buddha.name + "]虔诚祈祷");
    }
    /**
     * * 不是说函数不能引用外界的数据，而是它引用的数据必须也能作为规则的一部分
     * * 让佛祖不变，佛祖才能成为规则
     */
}
